// components/recharge/modal-recharge.js
import {
  rechargeDatalist
} from '../../utils/data'
const {
  onPay,
} = require('../../api/common.api')

Component({
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
    rechageDataList: rechargeDatalist,
    curYB: ''
  },

  /**
   * 组件的方法列表
   */
  methods: {
    /**
     * 显示对话框
     */
    showModal() {
      // 显示遮罩层
      var animation = wx.createAnimation({
        duration: 200,
        timingFunction: "linear",
        delay: 0
      })
      this.animation = animation
      animation.translateY(300).step()
      this.setData({
        animationData: animation.export(),
        showModalStatus: true
      })
      setTimeout(function () {
        animation.translateY(0).step()
        this.setData({
          animationData: animation.export()
        })
      }.bind(this), 200)
    },
    /**
     * 隐藏对话框
     */
    hideModal() {
      // 隐藏遮罩层
      let animation = wx.createAnimation({
        duration: 200,
        timingFunction: "linear",
        delay: 0
      })
      this.animation = animation
      animation.translateY(300).step()
      this.setData({
        animationData: animation.export(),
      })
      setTimeout(function () {
        animation.translateY(0).step()
        this.setData({
          animationData: animation.export(),
          showModalStatus: false
        })
      }.bind(this), 200)
    },
    onRechargeEvent(e) {
      this.setData({
        curYB: e.currentTarget.dataset.yb
      })

    },
    /**
     * 去支付
     */
    onPay() {
      let _this = this;
      let params = {
        yuanbao: _this.data.curYB
      }
      onPay('api/charge', 'POST', params).then(res => {
        _this.hideModal();
        console.log(res, '支付参数')
        wx.requestPayment({
          timeStamp: res.pre_pay_data.timeStamp,
          nonceStr: res.pre_pay_data.nonceStr,
          package: res.pre_pay_data.package,
          signType: res.pre_pay_data.signType,
          paySign: res.pre_pay_data.paySign,
          success(res) {
            wx.showToast({
              title: '支付成功',
            })
            // 更新用户信息
            _this.triggerEvent('updateYBNum',params.yuanbao)
            console.log(res,'支付成功')
          },
          fail(res) {
            wx.showToast({
              icon: 'none',
              title: '支付失败',
            })
            console.log(res)
          }
        })
      })
    }

  }
})